﻿namespace Tomato.Allure
{
	public interface ISolution
	{
		IProjects Projects { get; }
		int ProjectCount { get; }
		string FileName { get; }
		string FullName { get; }
		bool IsDirty { get; }
		bool IsOpen { get; }
		bool IsSaved { get; }

		IProject this[ int index ] { get; }
		IProject this[ string projectName ] { get; }

		IProject AddProjectFromFile( string projectFilePath, bool bNewSolution );
		IProject AddProjectFromTemplate( string templateFilePath, string destinationFolder, string projectName, bool bNewSolution );
		IProject AddSolutionFolder( string folderName );
		void Close( bool bToSave );
		void Create( string destinationFolder, string solutionName );
		IProjectItem FindProjectItem( string projectItemName );
		void Open( string solutionFilePath );
		void RemoveProject( IProject project );
		void SaveAs( string newSolutionFilePath );
	}		
}


